/*
 * File:   NivelTest.cpp
 * Author: jaschu
 *
 * Created on 28-may-2014, 1:29:06
 */

#include "NivelTest.h"
#include "../Nivel.h"
#include <vector>
#include <string>
#include "../Configuracion.h"
#include "../Bomberman.h"
#include "../Coordenada.h"

using std::string;
using std::vector;


CPPUNIT_TEST_SUITE_REGISTRATION(NivelTest);

NivelTest::NivelTest() {
}

NivelTest::~NivelTest() {
}

void NivelTest::setUp() {
    Configuracion::newConfiguracion();
    Configuracion::setAlcanceBomba(5);
    Configuracion::setDesplazamientoBomberman(1);
    Configuracion::setDesplazamientoDisparo(1);
    Configuracion::setDesplazamientoZombieVerde(1);
    Configuracion::setTamanioMapa(5);
    Configuracion::setTiempoRegeneracionBomba(2);

}

void NivelTest::tearDown() {
}

void NivelTest::testGetEnemigos() {
    //Nivel nivel;
    //std::vector<Enemigo*> result = nivel.getEnemigos();
    if (true /*check result*/) {
        CPPUNIT_ASSERT(true);
    }
}

void NivelTest::testGetPlantas() {
    //Nivel nivel;
    //std::vector<Planta*> result = nivel.getPlantas();
    if (true /*check result*/) {
        CPPUNIT_ASSERT(true);
    }
}

void NivelTest::testInicializarNivel() {
    Nivel nivel = Nivel(5);
    vector<Bomberman*> listaDeBombermans = vector<Bomberman*>();
    Coordenada coord1 = Coordenada(4,0);
    Coordenada coord2 = Coordenada(1,1);
    Coordenada coord3 = Coordenada(2,4);
    listaDeBombermans = {new Bomberman(coord1), new Bomberman(coord2), new Bomberman(coord3)};
    string tileMap = string("0030010000004000400000004");
    nivel.inicializar(tileMap, listaDeBombermans);
    CPPUNIT_ASSERT(true);
    while(!listaDeBombermans.empty()) {
        Bomberman* aux = listaDeBombermans.back();
        listaDeBombermans.pop_back();
        delete aux;
    }
    Configuracion::destroyConfiguracion();
}
    
void NivelTest::testActualizarNivel() {
    //Coordenada coordBomberman1 = Coordenada(5,1);
    //Bomberman bomberman1 = Bomberman();
    CPPUNIT_ASSERT(true);
}

